Random access channel protocol

ABSTRACT

The present invention provides an improved random access channel protocol, wherein different user elements may be associated with different priority levels. Based on relative priority, the user elements may have different probabilities for deciding when to retransmit a previously transmitted packet upon receiving information from an access point indicating that the packet needs to be retransmitted. A buffer is provided for storing a packet to transmit, and the buffer is associated with a stack counter, which is incremented or decremented to or from a nominal value to determine when to transmit or retransmit the packet stored in the buffer. Based on the relative priority, feedback information from the access point may cause the stack counter for a packet needing to be retransmitted to stay at the nominal value, wherein retransmission will occur at the next available time slot, or it may increase the stack counter by one or more levels.

The present invention relates to communications, and in particular to animproved random access protocol for multiple access communicationsystems.

BACKGROUND OF THE INVENTION

Multiple access communication systems in both wired and wirelessenvironments often implement a random access channel protocol, whicheffectively controls when user elements transmit information to acentralized access point, such as a base station. In general, each ofthe user elements may attempt to transmit information to the basestation during a given slot. If the base station is unable to properlyreceive the transmitted packets, a generic feedback message istransmitted and received by each of the user elements. Based on thefeedback information, the user elements that transmitted informationcorresponding to the feedback message may take various steps to prepareto retransmit the packet, or transmit a new packet. If the feedbackindicates that a message was not received, the user element knows thatthe packet must be retransmitted, and may implement any number ofback-off procedures in order to avoid a conflict with another competinguser element during retransmission. Unfortunately, many of theseprotocols are very inefficient and unstable, especially as the number ofuser elements competing for channel resources increases. A commonlyemployed random access channel protocol used in many local andmetropolitan area networks incorporating Ethernet, wireless local areanetwork, cellular, and satellite technology is (ALOHA), and inparticular, the slotted ALOHA protocol. A major advantage associatedwith the ALOHA protocol is its simplicity in implementation and use forrandom, multiple-access networks. However, the key drawback of the ALOHAprotocol is its low efficiency and its instability.

Given the ever-increasing demand for more efficient use of communicationresources, there is a need for an improved random access channelprotocol, which is significantly more efficient and more stable thanexisting protocols.

SUMMARY OF THE INVENTION

The present invention provides an improved random access channelprotocol, wherein different user elements may be associated withdifferent priority levels. Based on a relative priority, the userelements may have different probabilities for deciding when toretransmit a previously transmitted packet upon receiving informationfrom an access point indicating that the packet needs to beretransmitted. A buffer is provided for storing a packet to transmit,and the buffer is associated with a stack counter, which is incrementedor decremented to or from a nominal value to determine when to transmitor retransmit the packet stored in the buffer. Based on the relativepriority, feedback information from the access point may cause the stackcounter for a packet needing to be retransmitted to stay at the nominalvalue, wherein retransmission will occur at the next available timeslot, or it may increase the stack counter by one or more levels.Depending on the priority, the number of levels by which the stackcounter may be incremented based on the feedback information may vary.In addition to providing different levels of control of the stackcounter, power ramping techniques may be incorporated forretransmissions to improve quality of service, as well as providefurther priority. During transmission of sequential packets, each packetmay be dynamically assigned to different channels on a slot-by-slotbasis to enhance the probability of an effective transmission.

The present invention is applicable to both single and multi-channelsystems, and preferably requires one feedback message per slot to helpcontrol the transmission of new packets and the retransmission ofpreviously transmitted packets. The use of a single feedback message fora multi-channel environment is particularly beneficial in minimizing thecomplexity of the system. When a single feedback message is used formultiple channels, the feedback information is based on the relativenumber of successful and unsuccessful transmissions throughout themultiple channels.

The access point and user elements may also cooperate to effectivelyallocate various channels for access, signaling, and carrying traffic.The allocations may be based on relative packet size, the type ofinformation being sent, or the frequency at which the channels areaccessed. In an effort to increase the likelihood of a packet beingreceived, the user elements may transmit redundant packets withoutrelying on the feedback information. For example, redundant packets maybe transmitted over different channels, during different time slots, ora combination thereof.

Those skilled in the art will appreciate the scope of the presentinvention and realize additional aspects thereof after reading thefollowing detailed description of the preferred embodiments inassociation with the accompanying drawing figures.

BRIEF DESCRIPTION OF THE DRAWING FIGURES

The accompanying drawing figures incorporated in and forming a part ofthis specification illustrate several aspects of the invention, andtogether with the description serve to explain the principles of theinvention.

FIG. 1 is a block representation of a wireless communication systemaccording to one embodiment of the present invention.

FIG. 2 is a block representation of a base station according to oneembodiment of the present invention.

FIG. 3 is a block representation of a user element according to oneembodiment of the present invention.

FIG. 4 illustrates the operation of a stack algorithm according to oneembodiment of the present invention.

FIG. 5 illustrates the operation of a stack algorithm according to asecond embodiment of the present invention.

FIGS. 6, 7, and 8 graphically illustrate a feedback information ruleaccording to systems having four, six, and eight channels, respectively,according to select embodiments of the present invention.

FIGS. 9A-9G illustrate various allocation strategies for transmittingredundant, as well as sequential, packets using multiple channels overmultiple slots according to select embodiments of the present invention.

FIGS. 10A-10C illustrate various allocation strategies for allocatingtraffic and access channels.

FIG. 11 illustrates a priority access and allocation strategy accordingto yet another embodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The embodiments set forth below represent the necessary information toenable those skilled in the art to practice the invention and illustratethe best mode of practicing the invention. Upon reading the followingdescription in light of the accompanying drawing figures, those skilledin the art will understand the concepts of the invention and willrecognize applications of these concepts not particularly addressedherein. It should be understood that these concepts and applicationsfall within the scope of the disclosure and the accompanying claims.

With reference to FIG. 1, a basic wireless communication environment isillustrated. In general, a base station controller (BSC) 10 controlswireless communications within multiple cells 12, which are served bycorresponding base stations (BS) 14. Each base station 14 facilitatescommunications with user elements 16, which are within the cell 12associated with the corresponding base station 14. For the presentinvention, the base stations 14 and user elements 16 include multipleantennas to provide spatial diversity for communications. The basestation 14 may be any type of wireless access point for cellular,wireless local area network, or like wireless network. Further, the basestation 14 may be a central access point on a wired network.

With reference to FIG. 2, a base station 14 configured according to oneembodiment of the present invention is illustrated. The base station 14generally includes a control system 20, a baseband processor 22,transmit circuitry 24, receive circuitry 26, multiple antennas 28 (forwireless embodiments) or a communications interface (for wiredembodiments), and a network interface 30. The receive circuitry 26receives radio frequency signals through antennas 28 bearing informationfrom one or more remote transmitters provided by user elements 16.Preferably, a low noise amplifier and a filter (not shown) cooperate toamplify and remove broadband interference from the signal forprocessing. Downconversion and digitization circuitry (not shown) willthen downconvert the filtered, received signal to an intermediate orbaseband frequency signal, which is then digitized into one or moredigital streams.

The baseband processor 22 processes the digitized received signal toextract the information or data bits conveyed in the received signal.This processing typically comprises demodulation, decoding, and errorcorrection operations. As such, the baseband processor 22 is generallyimplemented in one or more digital signal processors (DSPs). Thereceived information is then sent across a wireless network via thenetwork interface 30 or transmitted to another user element 16 servicedby the base station 14. The network interface 30 will typically interactwith the base station controller 10 and a circuit-switched networkforming a part of a wireless network, which may be coupled to the publicswitched telephone network (PSTN) or other communication network.

On the transmit side, the baseband processor 22 receives digitized data,which may represent voice, data, or control information, from thenetwork interface 30 under the control of the control system 20, andencodes the data for transmission. The encoded data is output to thetransmit circuitry 24, where it is modulated by a carrier signal havinga desired transmit frequency or frequencies. A power amplifier (notshown) will amplify the modulated carrier signal to a level appropriatefor transmission, and deliver the modulated carrier signal to theantennas 28 through a matching network (not shown). The multipleantennas 28 and the replicated transmit and receive circuitries 24, 26provide spatial diversity. Antenna selection, modulation, and processingdetails are described in greater detail below.

With reference to FIG. 3, a user element 16 configured according to oneembodiment of the present invention is illustrated. Similarly to thebase station 14, the user element 16 will include a control system 32, abaseband processor 34, transmit circuitry 36, receive circuitry 38,multiple antennas 40 (for wireless embodiments) or a communicationinterface (for wired embodiments), and user interface circuitry 42. Thereceive circuitry 38 receives radio frequency signals through antennas40 bearing information from one or more base stations 14. Preferably, alow noise amplifier and a filter (not shown) cooperate to amplify andremove broadband interference from the signal for processing.Downconversion and digitization circuitry (not shown) will thendownconvert the filtered, received signal to an intermediate or basebandfrequency signal, which is then digitized into one or more digitalstreams.

The baseband processor 34 processes the digitized received signal toextract the information or data bits conveyed in the received signal.This processing typically comprises demodulation, decoding, and errorcorrection operations, as will be discussed on greater detail below. Thebaseband processor 34 is generally implemented in one or more digitalsignal processors (DSPs) and application specific integrated circuits(ASICs).

For transmission, the baseband processor 34 receives digitized data,which may represent voice, data, or control information, from thecontrol system 32, which it encodes for transmission. The encoded datais output to the transmit circuitry 36, where it is used by a modulatorto modulate a carrier signal that is at a desired transmit frequency orfrequencies. A power amplifier (not shown) will amplify the modulatedcarrier signal to a level appropriate for transmission, and deliver themodulated carrier signal to the antennas 40 through a matching network(not shown).

For the following description, the communication architectures aredescribed as being between a base station 14 and a user element 16 in awireless embodiment, but those skilled in the art will recognize theapplicability of the illustrated architecture for both uplink anddownlink communications in wired and wireless embodiments. Further, thecommunications may be facilitated using a variety of multiple accessarchitectures, including, but not limited to Ethernet, wireless LAN,code division multiple access (CDMA), frequency division multiple access(FDMA), time division multiple access (TDMA), and orthogonal frequencydivision multiplexing (OFDM) access technologies.

As noted, the present invention improves upon existing random accesschannel protocols, which use a stack algorithm to control thetransmission of information from the user element 16 to the base station14. Since all the user elements 16 being served by a given base station14 must compete for resources, the random access channel protocol of thepresent invention significantly improves the efficiency with which eachof these user elements 16 contend for these resources. In general, thetransmission of information occurs in packets during defined time slotsover a given channel or a group of channels, which may be defined by anymultiple access technology. Each user element 16 will have a buffer forstoring the next packet of information to be transmitted to the basestation 14. The packet of information may include the entirety of atraditional packet, which would include both a header (preamble) and apayload (message), or any portion thereof wherein the packet ofinformation may include all or a portion of a header, payload, orcombination thereof. Upon successful transmission of the packet ofinformation stored in the buffer, the next packet to be transmitted isthen loaded into the buffer. Actual transmission of the packet ofinformation stored in the buffer is based at least in part on the valueof an associated stack counter, which represents a relative position ina vertical stack used to prioritize packets of information to betransmitted from all of the competing user elements 16. Thus, the stackcounters among the user elements 16 will vary from one slot to another,and will change from one slot to another, if necessary, based on a stackalgorithm, which is a function of feedback from the base station 14.Although the stack counter may be oriented in a variety of ways, forpurposes of illustration assume that the packet of information istransmitted from the buffer when the counter reaches zero. Also assumethat the stack counter will increment or decrement in light of the stackalgorithm, which is described in detail below.

Notably, the feedback provided by the base station 14 is generic innature, and thus, does not specifically identify the packets that werereceived. The user element 16 must rely on the random access channelprotocol to determine whether or not transmitted packets weresuccessfully received, whether transmitted packets need to beretransmitted, and the like. The present invention is applicable to bothsingle and multiple channel systems, and the following descriptioninitially outlines the operation of one embodiment of the presentinvention for a single channel system and then describes anotherembodiment of the present invention for a multiple channel system.

In one single channel embodiment, assume that the content of the stackcounter for a given user element 16 is designated as L_(t) for a giventime slot t and that the base station 14 provides one of three feedbackmessages for each time slot. The feedback messages provided by the basestation 14 may include 1) an idle message indicating that there are notransmissions detected during the slot, 2) a successful transmissionmessage indicating that a packet transmitted during the slot wassuccessfully received, and 3) a collision message indicating that thebase station 14 detected that a packet was transmitted, but could notsuccessfully receive the packet. The collision message may be generatedwhen multiple user elements 16 transmit concurrently, wherein theconflicting transmissions interfere with each other sufficiently toprevent the base station 14 from receiving any of the packets, or simplythat there is other interference in the channel sufficient to degrade asingle transmitted packet enough to prevent the base station 14 fromreceiving the packet. The proposed stack algorithm for controlling thestack counter (L_(t)) favors a last in first out philosophy. Initially,upon creating a new packet to transmit during time slot t−1, the newpacket is placed in the buffer and the associated stack counter is setto zero (L_(t)=0). Assuming the propagation time to receive feedbackfrom the base station 14 is equal to L, wherein L=1, 2, . . . , a userelement 16 receives the feedback from the base station 14 by thebeginning of slot t+L and any retransmissions based on that feedbacksignal can take place at time slots t+L, t+2L, . . . .

The specific stack algorithm rule for a first embodiment of the presentinvention is provided below:

-   -   1. If L_(t)=0, then the buffered packet is transmitted in slot        t;    -   2. If L_(t)=0 and the feedback information from the base station        14 for slot t is a success message, the packet is cleared from        the buffer and the next packet to be transmitted is placed in        the buffer;    -   3. If L_(t)>0, then the packet is not transmitted during time        slot t;    -   4. If L_(t)=0 and the feedback from the base station 14 is a        collision message, then a random number generator is initiated        to determine how to manipulate the stack counter:        In an n-level splitting system, the random number generator will        generate one of n numbers, which will dictate the manipulation        of the stack counter. In a 2-level splitting system, the random        number generator will generate one of two numbers, wherein when        the first number is generated, the stack counter associated with        the buffer for the next available time slot, L_(t+L), will be        set to zero, and if the other number is generated, L_(t+L) is        set to one, L_(t+L)=1. Thus, when L_(t+L)=0, the packet is sent        during slot t+L. If L_(t+L)=1, the packet is not sent during the        time slot t+L, and will not be transmitted until the value for        L_(t+L) reaches zero, based on manipulation by the stack        algorithm and feedback from the base station 14;    -   5. If L_(t)>0 and the feedback from the base station 14 is a        collision message indicating that there was a collision during        time slot t, then L_(t+L) is incremented, which pushes the        buffered packet further into the stack;    -   6. If L_(t)>0 and the feedback from the base station 14 is an        idle message, then L_(t+L) is decremented;    -   7. If L_(t)>0 or L_(t)=0 and the feedback from the base station        14 is a receive message, and the user element 16 knows that the        base station 14 could not receive one of its packets to generate        the receive message, then L_(t) is decremented.

Operation of the above-described stack algorithm is illustrated in FIG.4. Assume that there are four user elements 16 generally referenced asA, B, C, and D, and that each has a single packet to transmit to thebase station 14. Also assume that during time slot 1, the stack countersfor each of the user elements 16 are set to zero (L_(t)=0). As such,packets from user elements A, B, C, and D are all transmitted duringtime slot 1. The simultaneous transmission of these four packets resultsin the base station 14 being unable to receive any of the packetstransmitted from user elements A, B, C, and D, and transmitting acollision message, which is received by each user element A, B, C, andD. Based on the above stack algorithm (rule 4), each user element A, B,C, and D will initiate generation of one of the two random numbers usingthe random number generator. Assume that the result of each of the userelements A, B, C, and D running the random number generator forgenerating one of two outcomes results in the stack counter remainingzero (L_(t)=0) for user elements A and B, and the stack counter beingset to one (L_(t)=1) for user elements C and D. As such, during timeslot 2, user elements A and B will retransmit their respective packets,and user elements C and D will not attempt to retransmit their packets.

Since user elements A and B are transmitting concurrently during timeslot 2, the base station 14 is not able to receive either of thepackets, and again transmits a collision message, which is received byuser elements A, B, C, and D. As a result, the stack counters for userelements C and D are incremented (rule 5), and the random numbergenerators will again be initiated for user elements A and B. Assumethat the result of the random number generation results in the stackcounters being incremented for both user elements A and B (L_(t)=1). Atthis point, none of the user elements A, B, C, or D will transmit duringtime slot 3, and the base station will transmit an idle message to userelements A, B, C, and D. Since each of the user elements A, B, C, and Dhave stack counters that are greater than zero (L_(t)>0), the stackcounters for each of the user elements A, B, C, and D are decremented(rule 6) such that user elements A and B will transmit during time slot4 and the stack counters for user elements C and D are now set to one(L_(t)=1). Also assume that a user element E generates a packet totransmit. Since L_(t)=0 for the new packet for user element E, userelements A, B, and E will transmit during time slot 4, which will resultin the base station 14 providing a collision message for feedback touser elements A, B, C, D, and E.

Thus, user elements A, B, and E will generate random numbers and userelements C and D will increment the stack counter. Assume that theresult of the random number generation increments the stack counters foruser elements B and E (L_(t)=1) and keeps the stack counter for userelement A set to zero (L_(t)=0). As such, during time slot 5, only thepacket for user element A is transmitted, which will result in asuccessful reception by the base station 14, which will provide areceive message back to user elements A, B, C, D, and E. Upon receivingthe receive message, user elements B, C, D, and E will recognize thatthey did not transmit the packet corresponding to the feedback message,and decrement their respective stack counters (rule 7). As such, userelements B and E will have stack counters set to zero (L_(t)=0), anduser elements C and D will have stack counters set to one (L_(t)=1). Theresulting collision and collision feedback message from the base station14 will result in user elements B and E running the random numbergenerator, which may result in user element B's stack counter remainingat zero (L_(t)=0) and user element E's stack counter being set to one(L_(t)=1). The stack counters for user elements C and D will beincremented. Thus, during time slot 7, the packet for user element Bwill be successfully received by the base station 14, which willtransmit a receive message back to user elements A, B, C, D, and E. Thestack counters for user elements C, D, and E will be decremented, whichwill result in user element E's stack counter being set to zero(L_(t)=0) and the stack counters for user elements C and D being set toone (L_(t)=1).

During time slot 8, user element E will be able to transmit its packetwithout interference from the other user elements, which will result ina receive message being sent back to user elements A, B, C, D, and E.User elements C and D will decrement their stack counters, which will beset to zero (L_(t)=0), and will transmit their respective packets intime slot 9. The resulting collision will cause the base station 14 tosend a collision message back to user elements A, B, C, D, and E. Userelements C and D will then run their random number generators, which mayresult in the stack counter for user element C being set to zero(L_(t)=0), and the stack counter for user element D being set to one(L_(t)=1). During time slot 10, user element C will transmit its packetsuccessfully, and the base station 14 will send a receive message backto user elements A, B, C, D, and E. User element D will decrement itsstack counter to zero (L_(t)=0), and successfully transmit its packetduring time slot 11.

Although the above example provides for 2-level splitting, the splittingmay be arranged for any number of levels, n, wherein each level isassociated with a different probability, which is realized by some formof random number generation. For example, in a 4-level splitting system,rules 4 and 5 from above would be modified as follows:

-   -   4. If L_(t)=0 and the feedback from the base station 14 is a        collision message, then a random number generator is initiated        to determine how to manipulate the stack counter:        -   a. L_(t+L)=0 with probability R(0), R(0)>0;        -   b. L_(t+L)=1 with probability R(1), R(1)>0;        -   c. L_(t+L)=2 with probability R(2), R(2)>0;        -   d. L_(t+L)=3 with probability R(3)=1−R(0)−R(1)−R(2), R(3)>0;    -   5. If L_(t)>0 and the feedback from the base station 14 is a        collision message indicating that there was a collision during        time slot t, then L_(t+L)=L_(t)+x, wherein x=1 through 3.

To assign priorities to various packet types or user elements 16,different levels of splitting may be provided in a common system. In oneembodiment of the present invention, the random number generatorfunction is essentially similar to providing each user element 16 withone or more coins, which are effectively flipped to determine whether ornot to increase the stack counter, and in the case of multiple coinsbeing provided to a user element, how much to increment the stackcounter. For user elements 16 that only use a single coin, one couldassume that for heads the stack counter remains at zero, wherein tailswould result in incrementing the stack counter by one. For user elementswith two coins, flipping both coins could result in four scenarios: twoheads results in the stack counter remaining at zero, one head and onetail results in increasing the stack counter by one, one tail and onehead results in increasing the stack counter by two, and two tailsresults in increasing the stack counter by three. In this manner, higherpriority users would only be assigned one coin, wherein lower priorityusers could be assigned two coins. The random probability associatedwith the random number generator (or coin flipping) provides fairnesswithin the priority structure. Other priority techniques may be used,wherein higher priority users have random number generators seeded suchthat the likelihood of not increasing the stack counter or minimizingthe increase in the stack counter favors the higher priority users.

As illustrated in FIG. 5, assume that user elements A and B are given ahigh priority, wherein user elements C and D are given a low priority.For the high priority user elements A and B, 2-level splitting is used,wherein for the low priority user elements C and D, a 4-level splittingsystem is used. Also assume that for the high priority user elements Aand B the stack counter is set to either zero or one in response to acollision (rule 4), and that the stack counter for low priority userelements C and D is either set to two or three in response to acollision (rule 4). Thus, during time slot 1, each user element A, B, C,and D transmits its respective packet, which results in the base station14 providing a collision message back to each of the user elements A, B,C, and D. Since each of the user elements receives a collision messagein response to the transmissions, they will run their respective randomnumber generators according to their respective splitting levels.

Assume that the high priority user elements A and B set their stackcounters to zero (L_(t)=0) and one (L_(t)=1), respectively. Furtherassume that the low priority user elements C and D run their randomnumber generators, resulting in setting the stack counter for userelement D to two (L_(t)=2) and the stack counter for user element C tothree (L_(t)=3). Thus, user elements A, B, D, and C have their stackcounters set to zero, one, two, and three, respectively. Assume thatalthough only user element A is transmitting during slot 2, there issufficient interference that the base station 14 could not properlyreceive the packet, and a collision message was provided to userelements A, B, C, and D in response. As such, user element A will runthe random number generator to see how to manipulate the stack counter(rule 4), and user elements B, D, and C will increment their respectivestack counters (rule 5). Thus, time slot 3 is idle, and the base station14 will respond with an idle message, resulting in each of the userelements A, B, D, and C decrementing their stack counters. Assume thatuser element E is now present and has a packet to transmit. At thispoint, user element E will have its stack counter set to zero (L_(t)=0),which will result in a collision of the packets for user elements A andE in time slot 4. The collision will result in a collision message beingreceived from the base station 14, after which user elements A and Ewill run their random number generators to determine how to manipulatetheir stack counters. Assume that user element E is given high priority,and the random number generator resulted in the stack counter for userelement E being set to zero (L_(t)=0), and that the same operation atuser element A resulted in user element A's stack counter being set toone (L_(t)=1). Also assume that the stack counters for user elements B,D, and C were incremented by one. As such, during time slots 5, 6, 7, 8,and 9, the packets from user elements E, A, B, D, and C are received inprogression as their respective stack counters decrement. From theabove, those skilled in the art will recognize that providing multiplesplitting levels can effectively assign different priority or quality ofservice levels for various packets or user elements 16, and provides avery successful random access channel protocol. To provide additionalpriority, the user elements 16 may repeat a packet transmission in asubsequent slot, prior to receiving feedback from the base station 14.Those user elements 16 that provide the repetitive transmissions willinherently increase their rate of success, and hence priority; however,the repetitive transmissions will result in an overall loss ofthroughput for the entire system.

As noted above, the present invention is also applicable to amultiple-channel system, wherein different ones of the user elements 16may concurrently transmit using different channels. Thus, when the userelements 16 transmit on different channels, there are no collisions;however, when the user elements 16 transmit on the same channel at thesame time, there will be collisions. In a multi-channel system, thereare multiple channels available for every time slot. Since each userelement 16 randomly selects a channel and slot, certain channels duringany given time slot may be idle, may have multiple transmissions, or mayhave a single transmission.

Assume that each user element 16 randomly selects the channel over whicha packet is to be transmitted at the beginning of each slot. As such,the user element 16 will recognize that a packet needs to betransmitted, randomly select a channel over which to transmit thepacket, and then transmit the packet in the given slot. The base station14 will attempt to receive the transmitted packet during each slot,forward successfully received packets in accordance with theirdestination addresses, and broadcast the feedback messages to the userelements 16. For the present invention, the base station 14 will scanall of the available channels, n_(c), during a slot, and select afeedback message based on the relative number of channels in which therewere successfully received packets and the number of channels in whichthere were conflicts or collisions. Assume that S_(t) is the number ofchannels where packets were successfully received, and C_(t) is thenumber of channels where there were collisions. Since the feedback fromthe base station 14 is not directed to a particular user element 16 andthere are multiple channels that may have successful and unsuccessfultransmissions for any given time slot, the present invention providesfeedback from the base station 14 to control the random access channelprotocol's stack algorithm based on the relationship between the numberof successes and the number of collisions during any given time slot. Inone embodiment, the feedback from the base station 14 may take one ofthree forms: a merge message, a stay message, and a split message. Amerge message is sent when the ratio of successful channel tounsuccessful channels is relatively high, the split message is sent whenthe relative number of successful channels to unsuccessful channels isrelatively low, and the stay message is sent when the ratio ofsuccessful channels to unsuccessful channels falls between the rangesdefined for the split and merge messages. Accordingly, boundaries mustbe defined for the ratios such that the base station 14 may monitor thenumber of successful and unsuccessful channels and generate anappropriate feedback message. For example:

-   -   1. If R is equal to the ratio of successful channels to        unsuccessful channels (collisions), then a split message may be        provided when 0≦R≦R_(LOW), wherein R_(LOW) is the maximum ratio        for the split message;    -   2. The stay message is sent when R_(LOW)<R<R_(HIGH), wherein        R_(HIGH) is the threshold for sending the merge message; and    -   3. The merge message is sent when R_(HIGH)<R.

The ratios for R_(LOW) and R_(HIGH) are merely representative of how theratios may be determined, and those skilled in the art will recognizethat these values may be varied to control operation of the randomaccess channel protocol. The stack algorithm is dependent upon thefeedback from the base station 14, and operates as follows:

-   -   1. If a packet becomes available for transmission during slot t,        then the stack counter for slot t+1 (L_(t+1)) is set to zero,        and the packet is transmitted during slot t+1 using the selected        channel;    -   2. If the stack counter is zero (L_(t)=0), the packet is not        transmitted successfully in slot t, and the feedback message is        a split message, then the stack counter for slot t+1 (L_(t)=1)        is set to one of a defined number of splitting levels based on        random number generation or other probability calculation. If        there are only two levels for splitting, L_(t+1) will equal zero        or one;    -   3. If L_(t=)0, the packet is not transmitted successfully in        slot t, and the feedback message is either a stay message or a        merge message, then L_(t+1)=0;    -   4. If L_(t)≧1 and the feedback message is a split message, then        L_(t+1)=L_(t)+1;    -   5. If L_(t)≧1 and the feedback message is a stay message, then        L_(t+1)=L_(t);    -   6. If L_(t)≧1 and the feedback message is a merge message, then        L_(t+1)=L_(t)−1; and    -   7. If the packet is transmitted successfully, then begin        processing the next packet.

FIGS. 6, 7, and 8 graphically illustrate rules for generating thefeedback information for environments incorporating four, six, and eightchannels, respectively. A point (X, Y) on the graphs indicates that Xchannels were successful and Y channels were unsuccessful due tocollision or other interference. In FIG. 6, where a four-channel systemis presented, when there are no unsuccessful channels and onlysuccessful channels, the merge message is sent as feedback from the basestation 14. Points that are below the split line belong to the regionwhere the stay message is provided as feedback. Points that are on thesplit line and above it will result in a split message being sent asfeedback. Similar rules apply for the graph shown in FIG. 7. Withrespect to the graph of FIG. 8, a merge line is provided, wherein thestay message is sent for those points below the split line and above themerge line. All points on or below the merge line will result in a mergemessage being sent as feedback from the base station 14.

Based on the above, the random access channel protocol can be enhancedfor both single and multi-channel systems by implementing stackalgorithms that incorporate random number generators or similar meansfor controlling the stack algorithm in light of feedback from the basestation 14. Further, additional priority may be provided by assigningdifferent splitting levels within the stack algorithm for differenttypes of packets or different user elements 16. The following outlinesfurther options for assigning different priorities to different packetsor user elements 16, as well as ensuring that the likelihood of asuccessful retransmission increases each time a packet is retransmitted.

With reference to FIGS. 9A-9C, multiple channels over multiple slots areillustrated. FIG. 9A shows the available number of channels for eachslot. In this system, each user element 16 may function to transmitdifferent packets (A₁-A₄) during different time slots and withindifferent channels. For example, in FIG. 9B, packets A₁-A₄ aresequentially transmitted within a given channel over four consecutivetime slots. In FIG. 9C, packets A₁-A₄ are transmitted using two channelsover two time slots. Alternatively, packets A₁-A₄ could be transmittedduring the same time slot within four different channels, as illustratedin FIG. 9D.

In an effort to increase priority, redundant packets may be transmittedover multiple slots and multiple channels within the multiple channelsystem, as illustrated in FIGS. 9E-9G. In FIG. 9E, redundant packets aretransmitted in two channels over two time slots. For even higherpriority, the same packet may be transmitted over each of the fourchannels over the first two time slots, as illustrated in FIG. 9F. Anintermediate option is shown in FIG. 9G, which entails sending the samepacket in two channels over three time slots. The relative priorityamong the various user elements 16 or particular types of packets willdirectly depend on the number of redundant copies of the packet that aretransmitted in other time slots or channels.

In addition to sending multiple copies of packets, the relative signalstrength between competing transmissions often bears on the odds of asuccessful transmission. As such, the present invention may alsoimplement power ramping strategies for consecutive retransmissions. Forexample, the first transmission of a packet may use a low transmissionpower. If the transmission is not successful, the power for the secondtransmission is incremented to a higher level. If the secondtransmission is not successful, the following transmission is providedat an even higher power, and so forth. The power ramping may beincorporated within the techniques provided above for eachretransmission of a packet. As noted, the retransmissions may take placein different channels, and may or may not take place in consecutive timeslots, depending on the relative operation of the stack algorithm.Further, different packets that are consecutively transmitted may betransmitted during different time slots and using different channels,each of which may be selected just prior to transmission. In essence,packets transmitted from any given user element 16 may hop from onechannel to another from slot to slot.

In certain embodiments, the headers and preambles may be transmitted atdifferent times and over different channels based on the informationbeing transmitted under the control of the base station 14. Further,allocation of the communication channels can dynamically be modified toaccommodate the communication needs of the communication environment.For example, the relative amount of data associated with each packet andthe frequency of access will bear on the amount of channel resourcesthat need to be allocated for access and for actual traffic. Asillustrated in FIGS. 10A-10C, the channels can be allocated in numerousways, as well as being reallocated in a dynamic fashion. As illustratedin FIG. 10A, for a short burst of packets that is frequent in nature, agreater number of the available channels are allocated for access, whilefewer are allocated for actual traffic. If the converse is true, asillustrated in FIG. 10B, a fewer number of channels are allocated foraccess and more channels are allocated for traffic. The random accesschannel protocol will then operate within these confines, which arecontrolled by the base station 14. If there is a combination of a longburst and a short burst of traffic with relatively minimal access, thechannels may be allocated for access, short burst of traffic, and longburst of traffic, as shown in FIG. 10C.

With reference to FIG. 11, certain groups of time slots and the channelsassociated therewith may be allocated for access channels, while slotsduring a different period of time are allocated for traffic channels. Toallow different levels of priority, more channels may be allocated forhigh priority users than low priority users, wherein the high and lowpriority user elements 16 are aware of the channels to use for gainingaccess and those available for traffic. Again, the random access channelprotocol and the corresponding stack algorithms described above willsimply operate within these confines, which again are controlled by thebase station 14. Further, newly active user elements 16 mayautomatically be assigned as low priority users, wherein existing userelements 16 are moved to a higher priority. Further, retransmissions maywarrant a higher priority than initial transmissions, in addition tosimply allowing certain user elements 16 or certain types of packets todictate priority. Although wireless environments are depicted, thepresent invention is applicable to both wireless and wired types ofcommunication systems incorporating any type of multiple accesstechnology in a single or multi-channel environment. Those skilled inthe art will recognize that the term “channels” refers to anycommunication means wherein data can be transmitted simultaneously orrelatively simultaneously based on code division, time division, orfrequency division techniques, or a combination thereof.

Those skilled in the art will recognize improvements and modificationsto the preferred embodiments of the present invention. All suchimprovements and modifications are considered within the scope of theconcepts disclosed herein and the claims that follow.

1. A user element for facilitating random access communicationscomprising: a) receive circuitry; b) transmit circuitry; and c) controlcircuitry associated with the receive and transmit circuitry andconfigured to: i) transmit a packet stored in a buffer to an accesspoint during a time slot when a stack counter is a nominal value; andii) adjust the stack counter when feedback information received from theaccess point is indicative of the packet needing to be retransmitted,the feedback information sent to a plurality of user elements in acommunication environment.
 2. The user element of claim 1 wherein thecontrol circuitry is further configured to implement one of a pluralityof random number generators to generate a random number, whichdetermines a relative amount by which the stack counter is adjusted suchthat different user elements will have different priorities based on theone of the plurality of random number generators implemented.
 3. Theuser element of claim 2 wherein the different ones of the plurality ofrandom number generators have a different number of possible outcomessuch that a relative priority is decreased as the number of possibleoutcomes is increased.
 4. The user element of claim 2 wherein thecontrol circuitry is further configured to retransmit the packet at anincreased power level when the feedback information is indicative of thepacket needing to be retransmitted.
 5. The user element of claim 1wherein the control circuitry is further configured to select channelsfrom a plurality of channels to use for transmitting packets to theaccess point on a packet-by-packet basis and transmit the packets on theselected channels.
 6. The user element of claim 1 wherein the feedbackinformation is indicative of a relative number of successful channels inwhich packets were properly received to a relative number ofunsuccessful channels in which packets were not properly received, andthe control circuitry is adapted to determine whether to retransmit thepacket and how to adjust the stack counter to determine when toretransmit the packet based on the feedback information.
 7. The userelement of claim 6, wherein the feedback information is one of threemessages selected from a group consisting of a first message indicatinga relatively large ratio of successful to unsuccessful channels, asecond message indicating an intermediate ratio of successful tounsuccessful channels, and a third message indicating a relatively lowratio of successful to unsuccessful channels.
 8. The user element ofclaim 1 wherein the control circuitry is further configured to selectchannels from a plurality of channels to use for transmitting packets tothe access point based on a relative length of the packets to betransmitted.
 9. The user element of claim 1 wherein the controlcircuitry is further configured to select channels from a plurality ofchannels to use for transmitting packets to the access point based on afrequency in which access is required.
 10. The user element of claim 1wherein the control circuitry is further configured to select channelsfrom a plurality of channels to use for transmitting packets to theaccess point based on a volume of data to be transmitted.
 11. The userelement of claim 1 wherein the control circuitry is further configuredto redundantly transmit the packet over multiple channels to increase arelative priority of the user element.
 12. The user element of claim 1wherein the control circuitry is further configured to redundantlytransmit the packet during multiple time slots to increase a relativepriority of the user element.
 13. The user element of claim 1 whereinthe control circuitry is further configured to redundantly transmit thepacket over multiple channels and during multiple time slots to increasea relative priority of the user element.
 14. An access point forfacilitating random access communications comprising: a) receivecircuitry; b) transmit circuitry; and c) control circuitry associatedwith the receive and transmit circuitry and configured to: i) receivepackets transmitted via at least one of a plurality of channels from aplurality of user elements during a time slot; ii) determine a number ofsuccessful channels in which packets were properly received during thetime slot; iii) determine a number of unsuccessful channels in whichpackets were not properly received during the time slot; and iv)transmit a feedback message based on a relative number of successfulchannels in which packets were properly received to a relative number ofunsuccessful channels in which packets were not properly received. 15.The access point of claim 14, wherein the feedback message is one ofthree selected from a group consisting of a first message indicating arelatively large ratio of successful to unsuccessful channels, a secondmessage indicating an intermediate ratio of successful to unsuccessfulchannels, and a third message indicating a relatively low ratio ofsuccessful to unsuccessful channels.
 16. A method for facilitatingrandom access communications from a user element comprising: a)transmitting a packet stored in a buffer to an access point during atime slot when a stack counter is a nominal value; and b) adjusting thestack counter when feedback information received from the access pointis indicative of the packet needing to be retransmitted, the feedbackinformation sent to a plurality of user elements in a communicationenvironment.
 17. The method of claim 16 further comprising implementingone of a plurality of random number generators to generate a randomnumber, which determines a relative amount by which the stack counter isadjusted such that different user elements will have differentpriorities based on the one of the plurality of random number generatorsimplemented.
 18. The method of claim 17 wherein the different ones ofthe plurality of random number generators have a different number ofpossible outcomes such that a relative priority is decreased as thenumber of possible outcomes is increased.
 19. The method of claim 17further comprising retransmitting the packet at an increased power levelwhen the feedback information is indicative of the packet needing to beretransmitted.
 20. The method of claim 16 further comprising selectingchannels from a plurality of channels to use for transmitting packets tothe access point on a packet-by-packet basis and transmitting thepackets on the selected channels.
 21. The method of claim 16 wherein thefeedback information is indicative of a relative number of successfulchannels in which packets were properly received to a relative number ofunsuccessful channels in which packets were not properly received, andfurther comprising determining whether to retransmit the packet and howto adjust the stack counter to determine when to retransmit the packetbased on the feedback information.
 22. The method of claim 21, whereinthe feedback information is one of three messages selected from a groupconsisting of a first message indicating a relatively large ratio ofsuccessful to unsuccessful channels, a second message indicating anintermediate ratio of successful to unsuccessful channels, and a thirdmessage indicating a relatively low ratio of successful to unsuccessfulchannels.
 23. The method of claim 16 further comprising selectingchannels from a plurality of channels to use for transmitting packets tothe access point based on the relative length of the packets to betransmitted.
 24. The method of claim 16 further comprising selectingchannels from a plurality of channels to use for transmitting packets tothe access point based on a frequency in which access is required. 25.The method of claim 16 further comprising selecting channels from aplurality of channels to use for transmitting packets to the accesspoint based on a volume of data to be transmitted.
 26. The method ofclaim 16 further comprising redundantly transmitting the packet overmultiple channels to increase the relative priority of the user element.27. The method of claim 16 further comprising redundantly transmittingthe packet during multiple time slots to increase a relative priority ofthe user element.
 28. The method of claim 16 further comprisingredundantly transmitting the packet over multiple channels and duringmultiple time slots to increase a relative priority of the user element.29. A method for facilitating random access communications from anaccess point comprising: a) receiving packets transmitted via at leastone of a plurality of channels from a plurality of user elements duringa time slot; b) determining a number of successful channels in whichpackets were properly received during the time slot; c) determining anumber of unsuccessful channels in which packets were not properlyreceived during the time slot; and d) transmitting a feedback messagebased on a relative number of successful channels in which packets wereproperly received to a relative number of unsuccessful channels in whichpackets were not properly received.
 30. The method of claim 29, whereinthe feedback message is one of three selected from a group consisting ofa first message indicating a relatively large ratio of successful tounsuccessful channels, a second message indicating an intermediate ratioof successful to unsuccessful channels, and a third message indicating arelatively low ratio of successful to unsuccessful channels.